The field of the invention relates to multiple processor digital computer systems. More particularly the field of the invention relates to multiple processor digital computer systems having means for sharing substantially identical blocks of information stored within a plurality of local main memory units.
As mainframe computers and minicomputers have continued to develop, the demand for increased processing speed and throughput has continued unabated. It is clear that as each generation of computer design is succeeded by the next, the total processing throughput available from a given system configuration continues to increase greatly.
In many applications for high performance minicomputers and mainframe computers such as real time simulation, geophysical modeling and the like, even the current throughput capacities available from state-of-the-art minicomputers and mainframe computers are insufficient to solve the problems of users of real time simulation systems and geophysical modeling systems within manageable lengths of time.
In the past it has been proposed to connect multiple processor units together in order to obtain increased throughput. However, one of the problems presented by the use of such multiple processor units is that a common primary storage or main memory unit, which is accessible by all processors, has been employed. As a result, as the number of processors increases delays increase due to contention and timing problems by one processor seeking to use input or output through a main memory while another processor is so engaged. This has led to diminishing returns in the use of such systems.
It has also been proposed that a shared memory be subdivided into local memories. However, in that case, it has been impossible to maintain the integrity of the local memories over the wide range of addresses which might be accessed by a particular processor.
What is needed then is a method and apparatus which can allow multiple processors to execute simultaneously various portions of code while rapidly and efficiently sharing information between themselves.